home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / wics.zip / DATEEDT.CPP < prev    next >
C/C++ Source or Header  |  1993-03-03  |  3KB  |  177 lines

  1. //==============================================================================================
  2. //
  3. //    Windows Interface Construction Set
  4. //    Version 1.00
  5. //
  6. //    DATEEDT.CPP - Date Edit Class Source File
  7. //    Copyright ⌐ 1993 by Microdyne Development Technologies.
  8. //    All rights reserved.
  9. //==============================================================================================
  10.  
  11. #include <owl.h>
  12. #include <dateedt.h>
  13.  
  14. TDateEdit::TDateEdit (PTWindowsObject AParent, int ResourceId, PTModule AModule)
  15.     : TEdit (AParent, ResourceId, 0, AModule)
  16. {
  17. }
  18.  
  19. TDateEdit::~TDateEdit ()
  20. {
  21. }
  22.  
  23. void TDateEdit::WMCommand (RTMessage Msg)
  24. {
  25.     DefWndProc(Msg);
  26. }
  27.  
  28. void TDateEdit::SetupWindow ()
  29. {
  30.     TEdit::SetupWindow();
  31. }
  32.  
  33. int TDateEdit::GetLineLength()
  34. {
  35.     TMessage    msg;
  36.  
  37.     msg.Receiver = HWindow;
  38.     msg.Message  = EM_LINELENGTH;
  39.     msg.WParam   = 0;
  40.     msg.LParam   = 0L;
  41.     msg.Result   = 0L;
  42.  
  43.     DefWndProc (msg);
  44.  
  45.     return (int) msg.Result;
  46. }
  47.  
  48. BOOL TDateEdit::GetLine(LPSTR ATextString, int StrSize)
  49. {
  50.     TMessage    msg;
  51.     int            BytesCopied;
  52.     BOOL        Success;
  53.  
  54.     if ( StrSize <= 0 )
  55.         return FALSE;
  56.  
  57.     if ( (StrSize >= GetLineLength() + 1) )
  58.         Success = TRUE;
  59.     else
  60.         Success = FALSE;
  61.  
  62.     if ( StrSize == 1 )
  63.     {
  64.         ATextString[0] = '\0';
  65.         return Success;
  66.     }
  67.  
  68.     msg.Receiver = HWindow;
  69.     msg.Message  = EM_GETLINE;
  70.     msg.WParam   = 0;
  71.     msg.LParam   = (LPARAM) ATextString;
  72.     msg.Result   = 0L;
  73.  
  74.     DefWndProc (msg);
  75.  
  76.     BytesCopied = (int) msg.Result;
  77.  
  78.     if ( BytesCopied != 0 )
  79.     {
  80.         ATextString[BytesCopied] = '\0'; // Windows returns non-null terminated string
  81.         return Success;
  82.     }
  83.  
  84.     return FALSE;
  85. }
  86.  
  87. void TDateEdit::GetDate(long & lDays, Rint iMonth, Rint iDay, Rint iYear)
  88. {
  89.     TMessage    msg;
  90.     WORD        wDate[3];
  91.  
  92.     msg.Receiver = HWindow;
  93.     msg.Message  = DEM_GETDATE;
  94.     msg.WParam   = 0;
  95.     msg.LParam   = (LPARAM) wDate;
  96.     msg.Result   = 0L;
  97.  
  98.     DefWndProc (msg);
  99.  
  100.     iMonth = wDate[0];
  101.     iDay   = wDate[1];
  102.     iYear  = wDate[2];
  103.  
  104.     lDays = msg.Result;
  105. }
  106.  
  107. void TDateEdit::GetMonth(Rint iMonth)
  108. {
  109.     TMessage    msg;
  110.  
  111.     msg.Receiver = HWindow;
  112.     msg.Message  = DEM_GETMONTH;
  113.     msg.WParam   = 0;
  114.     msg.LParam   = 0L;
  115.     msg.Result   = 0L;
  116.  
  117.     DefWndProc (msg);
  118.  
  119.     iMonth = msg.Result;
  120. }
  121.  
  122. void TDateEdit::GetDay(Rint iDay)
  123. {
  124.     TMessage    msg;
  125.  
  126.     msg.Receiver = HWindow;
  127.     msg.Message  = DEM_GETDAY;
  128.     msg.WParam   = 0;
  129.     msg.LParam   = 0L;
  130.     msg.Result   = 0L;
  131.  
  132.     DefWndProc (msg);
  133.  
  134.     iDay = msg.Result;
  135. }
  136.  
  137. void TDateEdit::GetYear(Rint iYear)
  138. {
  139.     TMessage    msg;
  140.  
  141.     msg.Receiver = HWindow;
  142.     msg.Message  = DEM_GETYEAR;
  143.     msg.WParam   = 0;
  144.     msg.LParam   = 0L;
  145.     msg.Result   = 0L;
  146.  
  147.     DefWndProc (msg);
  148.  
  149.     iYear = msg.Result;
  150. }
  151.  
  152. void TDateEdit::GetEditParams (LPDECPARMS lpep)
  153. {
  154.     TMessage    msg;
  155.  
  156.     msg.Receiver = HWindow;
  157.     msg.Message  = DEM_GETEDITPARAMS;
  158.     msg.WParam   = 0;
  159.     msg.LParam   = (LPARAM) lpep;
  160.     msg.Result   = 0L;
  161.  
  162.     DefWndProc (msg);
  163. }
  164.  
  165. void TDateEdit::SetEditParams (LPDECPARMS lpep)
  166. {
  167.     TMessage    msg;
  168.  
  169.     msg.Receiver = HWindow;
  170.     msg.Message  = DEM_SETEDITPARAMS;
  171.     msg.WParam   = 0;
  172.     msg.LParam   = (LPARAM) lpep;
  173.     msg.Result   = 0L;
  174.  
  175.     DefWndProc (msg);
  176. }
  177.